﻿// P72 【模板】最小生成树.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*
给定一个n个点、m条边的无向带权图，图中可能存在重边和自环。

求该图的最小生成树的边权之和，若不存在最小生成树则输出−1。

生成树：对于一个无向图，若它的一个子图是包含该无向图全部顶点的树，那么该子图是该无向图的一个生成树。

最小生成树：当连接顶点之间的边有权重时，权重之和最小的生成树则为最小生成树。

输入描述
第一行：两个整数n,m。（1≤n≤105，1≤m≤105）

接下来m行：每行三个整数
ui,vi,wi​，表示点ui​和点vi之间存在一条权重为wi 的无向边。（
1≤ui,vi≤n
0≤wi≤106）

输出描述
共一行，若存在最小生成树，则输出一个整数，表示最小生成树的边权之和；否则，输出−1。

输入样例1
复制代码
5 7
2 3 5
5 3 4
5 2 6
1 2 1
1 5 2
4 5 3
3 4 3
输出样例1
复制代码
9

*/
#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}

 